Presence detection is a technology used to convey information about the availability of individuals. Individuals are often interested in the availability of others and, because they are often not co-located, they require mechanisms for conveying availability or status information. The devices that people interact with know bits and pieces about how available they are for communications or other forms of interaction with others at any instant. People who are on the phone are less available to most others for the duration of the call, but may want to be interrupted by selected callers.
The location of a person on a mobile phone is information that may be relevant for determining whether that person is available for a certain type of event. For example, someone traveling far away from home may not be available for physical interaction with their neighbors, but may be available to take a call. Similarly, someone near a particular restaurant at lunchtime is a potential consumer. Presence related information is routinely generated in many devices connected to various networks. For example, a person using a Personal Computer (PC) attached to a network may generate various presence state information. An “On-line” state indicates a user has logged onto a network, such as the Internet or a corporate intranet, while an “Off-line” state indicates no connection is currently active between the user and the presence engine. “Idle” status implies the user's system, although logged on, has not been active recently. Similarly, a person who acknowledges a calendar event in a PC or personal digital assistant (PDA) essentially signals their limited availability to most others for some duration while at the same time indicates that the person is active on that device. This level of presence indication is useful, but it is sufficiently coarse to limit its utility.
Most presence systems rely on users to select presence indications through a menu on a PC or PDA or a button on a specific device. Keeping any presence indicator accurate to the actual availability status of the user potentially requires very frequent interaction by the user to supply status information. Such tedious human interaction potentially negates the effectiveness of presence-based communications systems. Some systems sense user interaction with a single device like a PC, which lessens the direct human input while decreasing overall accuracy, since using a mouse or keyboard certainly indicates the presence of the user at the device. However, it simultaneously indicates they are engaged in an activity with the device, the importance of which is unknown. The result is a convoluted view of availability. The user is certainly present to some degree, but may be busy and may not want to be disturbed. In these kinds of systems, the user still has to provide manual input to prevent being inappropriately represented and interrupted.
The reliability and usefulness of presence information depends on the type of information provided and the device from which the information is gathered. A person actively interacting with a computer indicates to some degree that she is available, but probably only to those on the same network. A PC or other network device inside a corporate network will have visibility, independently or through a corporate presence server, to many presence inputs related to many PCs or other devices on that network. Typically, however, a device inside a corporate firewall will be isolated from having access to presence data related to devices like mobile phones, that by their very nature interconnect through commercial service provider networks.
The basic concept of availability for communications is inherently dependent on how engaged the user is in any activity they are participating in at any instant. A user may often participate in conference calls or similar communication sessions where they are more of an observer than an active participant. Unfortunately, the fact they are involved in such an event tends to indicate they are unavailable to others wishing to communicate. As such, the user is precluded from receiving many communications for which they would be willing to be interrupted.
Accordingly, there is a need for improving both the number and quality of inputs into a presence management system in order to more efficiently and effectively deliver presence information to users of the information. Further, there is a need for a way to provide presence information for a user based on the extent to which the user is engaged in a communication session.